# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud
import imageio

# 导入imageio库中的imread函数，并用这个函数读取本地图片，作为词云形状图片
mk = imageio.v3.imread("chinamap.png")

# 构建并配置词云对象w，注意要加stopwords集合参数，将不想展示在词云中的词放在stopwords集合里，这里去掉“曹操”和“孔明”两个词
w = wordcloud.WordCloud(
    width=1000,
    height=700,
    background_color='white',
    font_path='msyh.ttc',    mask=mk,
    scale=15,
    stopwords={'曹操', '孔明'}
)

# 对来自外部文件的文本进行中文分词，得到string
f = open('三国演义.txt', encoding='utf-8')
txt = f.read()
txtlist = jieba.lcut(txt)
string = " ".join(txtlist)

# 将string变量传入w的generate()方法，给词云输入文字
w.generate(string)

# 将词云图片导出到当前文件夹
w.to_file('dong.png')